package cc.rengu.redp.flowable.service;

import cc.rengu.redp.common.domain.QueryRequest;
import cc.rengu.redp.flowable.domain.FormDesign;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

public interface FormDesignService extends IService<FormDesign> {

    /**
     * 无参数：查询全部   formId：单一查询   name：模糊查询
     *
     * @param formDesign   formDesign
     * @param queryRequest queryRequest
     * @return IPage
     */
    IPage<FormDesign> formQuery(FormDesign formDesign, QueryRequest queryRequest);

    /**
     * 查询所有可用表单
     *
     * @return
     */
    List<FormDesign> formQueryAll();

    /**
     * 表单设计新增
     *
     * @param formDesign 实体类
     */
    void addForm(FormDesign formDesign);

    /**
     * 表单设计修改
     * @param formDesign 需要修改的表单数据
     */
    void modifiedForm(FormDesign formDesign);

    /**
     * 表单删除
     * @param formIds 表单Id
     */
    void deleteForm(String[] formIds);

    /**
     * 查询可用表单
     * @return String
     */
    FormDesign getForm(String formId);
}
